Interface ICallGateProvider<T1, T2, T3, T4, T5, T6, T7, TRet>
The backing interface for the provider ("server") half of an IPC channel. This interface is used to expose methods to other plugins via RPC, as well as to allow other plugins to subscribe to notifications from this plugin.
Assembly: Dalamud.dll
View Source
public interface ICallGateProvider<T1, T2, T3, T4, T5, T6, T7, TRet> : ICallGateProvider
Methods
RegisterAction(Action<T1, T2, T3, T4, T5, T6, T7>)
Registers a System.Delegate
for use by other plugins via RPC. This Delegate must satisfy the constraints
of an System.Action
type as defined by the interface, meaning they may not return a value and must have
the proper number of parameters.
View Source
void RegisterAction(Action<T1, T2, T3, T4, T5, T6, T7> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<<T1>,<T2>,<T3>,<T4>,<T5>,<T6>,<T7>> | action | Action to register. |
RegisterFunc(Func<T1, T2, T3, T4, T5, T6, T7, TRet>)
Registers a System.Delegate
for use by other plugins via RPC. This Delegate must satisfy the constraints
of a System.Func%601
type as defined by the interface, meaning its return type and parameters must
match accordingly.
View Source
void RegisterFunc(Func<T1, T2, T3, T4, T5, T6, T7, TRet> func)
Parameters
Type | Name | Description |
---|---|---|
System.Func<<T1>,<T2>,<T3>,<T4>,<T5>,<T6>,<T7>,<TRet>> | func | Func to register. |
SendMessage(T1, T2, T3, T4, T5, T6, T7)
Send the given arguments to all subscribers (through Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Subscribe(System.Delegate)
) of this IPC call gate. This method
is intended to be used by the provider plugin to notify all subscribers of an event or data update. The
parameters passed to this method will be passed to all subscribers, with appropriate serialization for complex
data types. Primitive data types will be passed as-is. The subscription actions will be called sequentially in
order of registration on the <em>same thread</em> as the caller.
View Source
void SendMessage(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
Parameters
Type | Name |
---|---|
<T1> | arg1 |
<T2> | arg2 |
<T3> | arg3 |
<T4> | arg4 |
<T5> | arg5 |
<T6> | arg6 |
<T7> | arg7 |